home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Source / GNU / emacs / src / m-isi-ov.h < prev    next >
C/C++ Source or Header  |  1991-01-08  |  3KB  |  98 lines

  1. /* m- file for ISI 68000's
  2.    Copyright (C) 1985, 1986 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 1, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20.  
  21. #define ISI68K
  22.  
  23. /* The following three symbols give information on
  24.  the size of various data types.  */
  25.  
  26. #define SHORTBITS 16        /* Number of bits in a short */
  27.  
  28. #define INTBITS 32        /* Number of bits in an int */
  29.  
  30. #define LONGBITS 32        /* Number of bits in a long */
  31.  
  32. /* 68000 has lowest-numbered byte as most significant */
  33.  
  34. #define BIG_ENDIAN
  35.  
  36. /* Define how to take a char and sign-extend into an int.
  37.    On machines where char is signed, this is a no-op.  */
  38.  
  39. #define SIGN_EXTEND_CHAR(c) (c)
  40.  
  41. /* Say this machine is a 68000 */
  42.  
  43. #define m68000
  44.  
  45. /* Use type int rather than a union, to represent Lisp_Object */
  46.  
  47. #define NO_UNION_TYPE
  48.  
  49. /* XINT must explicitly sign-extend */
  50.  
  51. #define EXPLICIT_SIGN_EXTEND
  52.  
  53. /* Data type of load average, as read out of kmem.  */
  54.  
  55. #ifdef BSD4_3
  56. #define LOAD_AVE_TYPE long
  57. #else
  58. #define LOAD_AVE_TYPE double
  59. #endif BSD4_3
  60.  
  61. /* Convert that into an integer that is 100 for a load average of 1.0  */
  62.  
  63. #ifdef BSD4_3
  64. #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
  65. #else
  66. #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
  67. #endif
  68.  
  69. /* Mask for address bits within a memory segment */
  70.  
  71. #define SEGMENT_MASK 0x1ffff
  72.  
  73. /* use the -20 switch to get the 68020 code */
  74. /* #define C_SWITCH_MACHINE -20 */
  75.  
  76. /* Use the version of the library for the 68020
  77.    because the standard library requires some special hacks in crt0
  78.    which the GNU crt0 does not have.  */
  79.  
  80. #define LIB_STANDARD -lmc
  81.  
  82. /* macros to make unexec work right */
  83.  
  84. #define A_TEXT_OFFSET(HDR) sizeof(HDR)
  85. #define A_TEXT_SEEK(HDR) sizeof(HDR)
  86.  
  87. /* A few changes for the newer systems.  */
  88.  
  89. #ifdef BSD4_3
  90. #define HAVE_ALLOCA
  91. /* The following line affects crt0.c.  */
  92. #undef m68k
  93.  
  94. #undef LIB_STANDARD
  95. #define LIB_STANDARD -lmc -lc
  96. #define C_DEBUG_SWITCH -20 -O -X23
  97. #endif
  98.